﻿ 
 

using System; 
using Churchtoolkit.DataAccess.Common;
using System.ComponentModel;
namespace Churchtoolkit.DataAccess.Entities 
{	
	#region [ MemberModules ]
	/// <summary>
	/// Entity represents a row for table MemberModules 
	/// </summary>
	public class MemberModulesDto : IEntity, INotifyPropertyChanged		
	{
	 	/// <summary>
        /// Initializes a new instance of the <see cref="MemberModules"/> class.
        /// </summary>
		public MemberModulesDto()
		{
			 
		}
		
				 #region INotifyPropertyChanged Members

       public event PropertyChangedEventHandler PropertyChanged;

       #endregion
		
		private System.Int32 _memberId ;
		public System.Int32 MemberId 
				{ get
		{
		return this._memberId;
		}
		
		 set
		 {
		 	this._memberId = value;
			this.SendPropertyChanged("MemberId");
		 }
		 }
		private System.Int32 _moduleId ;
		public System.Int32 ModuleId 
				{ get
		{
		return this._moduleId;
		}
		
		 set
		 {
		 	this._moduleId = value;
			this.SendPropertyChanged("ModuleId");
		 }
		 }
		private System.String _displayName ;
		public System.String DisplayName 
				{ get
		{
		return this._displayName;
		}
		
		 set
		 {
		 	this._displayName = value;
			this.SendPropertyChanged("DisplayName");
		 }
		 }
		private System.String _email ;
		public System.String Email 
				{ get
		{
		return this._email;
		}
		
		 set
		 {
		 	this._email = value;
			this.SendPropertyChanged("Email");
		 }
		 }
		private System.String _moduleName ;
		public System.String ModuleName 
				{ get
		{
		return this._moduleName;
		}
		
		 set
		 {
		 	this._moduleName = value;
			this.SendPropertyChanged("ModuleName");
		 }
		 }
        protected virtual void SendPropertyChanged(String propertyName)
        {
            if ((this.PropertyChanged != null))
            {
                this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }
        #region IEntity Members

        public INotifyPropertyChanged GetPropertyChanged()
        {
            return (INotifyPropertyChanged)this;
        }

        #endregion
	}
	#endregion
	
	#region [ SecureMember ]
	/// <summary>
	/// Entity represents a row for table SecureMember 
	/// </summary>
	public class SecureMemberDto : IEntity, INotifyPropertyChanged		
	{
	 	/// <summary>
        /// Initializes a new instance of the <see cref="SecureMember"/> class.
        /// </summary>
		public SecureMemberDto()
		{
			CreationDate = DateTime.Now; 
		}
		
				 #region INotifyPropertyChanged Members

       public event PropertyChangedEventHandler PropertyChanged;

       #endregion
		
		private System.Int32 _memberId ;
		public System.Int32 MemberId 
				{ get
		{
		return this._memberId;
		}
		
		 set
		 {
		 	this._memberId = value;
			this.SendPropertyChanged("MemberId");
		 }
		 }
		private System.String _firstName ;
		public System.String FirstName 
				{ get
		{
		return this._firstName;
		}
		
		 set
		 {
		 	this._firstName = value;
			this.SendPropertyChanged("FirstName");
		 }
		 }
		private System.String _lastName ;
		public System.String LastName 
				{ get
		{
		return this._lastName;
		}
		
		 set
		 {
		 	this._lastName = value;
			this.SendPropertyChanged("LastName");
		 }
		 }
		private System.String _displayName ;
		public System.String DisplayName 
				{ get
		{
		return this._displayName;
		}
		
		 set
		 {
		 	this._displayName = value;
			this.SendPropertyChanged("DisplayName");
		 }
		 }
		private System.String _email ;
		public System.String Email 
				{ get
		{
		return this._email;
		}
		
		 set
		 {
		 	this._email = value;
			this.SendPropertyChanged("Email");
		 }
		 }
		private System.Byte ? _gender ;
		public System.Byte ? Gender 
				{ get
		{
		return this._gender;
		}
		
		 set
		 {
		 	this._gender = value;
			this.SendPropertyChanged("Gender");
		 }
		 }
		private System.DateTime ? _birthdate ;
		public System.DateTime ? Birthdate 
				{ get
		{
		return this._birthdate;
		}
		
		 set
		 {
		 	this._birthdate = value;
			this.SendPropertyChanged("Birthdate");
		 }
		 }
		private System.Int32 ? _nationalityId ;
		public System.Int32 ? NationalityId 
				{ get
		{
		return this._nationalityId;
		}
		
		 set
		 {
		 	this._nationalityId = value;
			this.SendPropertyChanged("NationalityId");
		 }
		 }
		private System.Int32 ? _countryId ;
		public System.Int32 ? CountryId 
				{ get
		{
		return this._countryId;
		}
		
		 set
		 {
		 	this._countryId = value;
			this.SendPropertyChanged("CountryId");
		 }
		 }
		private System.DateTime _creationDate ;
		public System.DateTime CreationDate 
				{ get
		{
		return this._creationDate;
		}
		
		 set
		 {
		 	this._creationDate = value;
			this.SendPropertyChanged("CreationDate");
		 }
		 }
		private System.Boolean _isActive ;
		public System.Boolean IsActive 
				{ get
		{
		return this._isActive;
		}
		
		 set
		 {
		 	this._isActive = value;
			this.SendPropertyChanged("IsActive");
		 }
		 }
		private System.DateTime _lastUpdateDate ;
		public System.DateTime LastUpdateDate 
				{ get
		{
		return this._lastUpdateDate;
		}
		
		 set
		 {
		 	this._lastUpdateDate = value;
			this.SendPropertyChanged("LastUpdateDate");
		 }
		 }
		private System.String _imagePath ;
		public System.String ImagePath 
				{ get
		{
		return this._imagePath;
		}
		
		 set
		 {
		 	this._imagePath = value;
			this.SendPropertyChanged("ImagePath");
		 }
		 }
		private System.String _confessionFather ;
		public System.String ConfessionFather 
				{ get
		{
		return this._confessionFather;
		}
		
		 set
		 {
		 	this._confessionFather = value;
			this.SendPropertyChanged("ConfessionFather");
		 }
		 }
        protected virtual void SendPropertyChanged(String propertyName)
        {
            if ((this.PropertyChanged != null))
            {
                this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }
        #region IEntity Members

        public INotifyPropertyChanged GetPropertyChanged()
        {
            return (INotifyPropertyChanged)this;
        }

        #endregion
	}
	#endregion
	}
